//
//  DBTableViewViewController.h
//  DuoBao
//
//  Created by arons on 16/3/28.
//  Copyright © 2016年 aron. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "MJRefresh.h"

/**
 *  带有处理分页和下拉刷新的TableViewController
 */
@interface DBTableViewController : UITableViewController <UITableViewDataSource, UITableViewDelegate>

//@property (nonatomic, strong) UITableView* tableView;
@property (nonatomic, strong) NSMutableArray *objects;///<列表数据

@property (nonatomic, assign) NSInteger allCount;///<列表数据数量
@property (nonatomic, assign) NSUInteger page;///<分页的页数

@property (nonatomic, assign) BOOL shouldAutoLoadData;///<时候自动加载数据标记

#pragma mark - public functions
/**
 *  下拉刷新
 */
- (void)setupPullRefresh;

/**
 *  上拉加载更多
 */
- (void)setupPullUp;

/**
 *  下拉刷新
 */
- (void)unSetupPullRefresh;

/**
 *  上拉加载更多
 */
- (void)unSetupPullUp;

/**
 *  网络请求数据，方法由子类重写
 */
- (void)requestDatasOnpage:(NSInteger)page refresh:(BOOL)refresh;

/**
 *  处理加载结束数据回调
 *  @param tmpDatas 某一次请求的数据
 */
- (void)handleDataLoadFailSuccess:(NSArray*)tmpDatas refresh:(BOOL)refresh;

/**
 处理加载失败的情况
 */
- (void)handleDataLoadFail;

@end
